package cate.game.framework;

import cate.game.GameBody;
import cp.solution.ops.status.ModOprStatus;

/** 模块管理 */
public interface ModuleManager {

    /** 独立の初始化，不依赖于其他模块 */
    void initIndependent(GameBody game) throws Exception;

    /** 依赖の初始化，此处可以对其他模块进行调用 */
    void initDependent() throws Exception;

    /** 当game-server关闭时 */
    default void shutdown(){};

    /** 处理被合服吞并前的结算 */
    default ModOprStatus handleMergeSettle(){
        return null;
    }

    /** 处理数据清理 */
    default ModOprStatus handleCleanData(){
        return null;
    }
}
